Layout Managers: HBox, VBox, StackPane, BorderPane, GridPane

Java Technologies - জাভাএফএক্স (JavaFx) JavaFX Layouts এবং UI Components |
122
122

JavaFX তে Layout Managers ব্যবহৃত হয় UI উপাদানগুলির (যেমন, বাটন, লেবেল, টেক্সটফিল্ড, ইত্যাদি) সঠিক অবস্থান এবং আকার নির্ধারণ করতে। JavaFX তে বিভিন্ন ধরনের লেআউট প্যানেল আছে, যেগুলি আপনাকে আপনার অ্যাপ্লিকেশনের ইউজার ইন্টারফেস ডিজাইন করতে সাহায্য করে।

নিচে কিছু জনপ্রিয় Layout Managers যেমন HBox, VBox, StackPane, BorderPane, এবং GridPane এর উদাহরণ দেয়া হলো:


1. HBox (Horizontal Box)

HBox হল একটি লেআউট প্যানেল যা উপাদানগুলোকে অনুভূমিকভাবে সাজায়।

উদাহরণ:

import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;

public class HBoxExample extends Application {
    @Override
    public void start(Stage primaryStage) {
        Button btn1 = new Button("Button 1");
        Button btn2 = new Button("Button 2");
        Button btn3 = new Button("Button 3");
        
        // HBox তৈরি
        HBox hbox = new HBox(10); // 10px ব্যবধান
        hbox.getChildren().addAll(btn1, btn2, btn3);
        hbox.setAlignment(Pos.CENTER); // সব বোতাম সেন্টারে বসবে
        
        Scene scene = new Scene(hbox, 300, 200);
        primaryStage.setTitle("HBox Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

Output:

  • ৩টি বাটন অনুভূমিকভাবে কেন্দ্রে বসানো থাকবে।

2. VBox (Vertical Box)

VBox হল একটি লেআউট প্যানেল যা উপাদানগুলোকে উল্লম্বভাবে সাজায়।

উদাহরণ:

import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class VBoxExample extends Application {
    @Override
    public void start(Stage primaryStage) {
        Button btn1 = new Button("Button 1");
        Button btn2 = new Button("Button 2");
        Button btn3 = new Button("Button 3");
        
        // VBox তৈরি
        VBox vbox = new VBox(10); // 10px ব্যবধান
        vbox.getChildren().addAll(btn1, btn2, btn3);
        vbox.setAlignment(Pos.CENTER); // সব বোতাম সেন্টারে বসবে
        
        Scene scene = new Scene(vbox, 300, 200);
        primaryStage.setTitle("VBox Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

Output:

  • ৩টি বাটন উল্লম্বভাবে কেন্দ্রে বসানো থাকবে।

3. StackPane

StackPane হল একটি লেআউট প্যানেল যেখানে উপাদানগুলো একে অপরের উপরে স্তরের মতো সাজানো হয়।

উদাহরণ:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class StackPaneExample extends Application {
    @Override
    public void start(Stage primaryStage) {
        Button btn1 = new Button("Button 1");
        Button btn2 = new Button("Button 2");

        // StackPane তৈরি
        StackPane stackPane = new StackPane();
        stackPane.getChildren().addAll(btn1, btn2); // btn2 btn1 এর উপর আসবে
        
        Scene scene = new Scene(stackPane, 300, 200);
        primaryStage.setTitle("StackPane Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

Output:

  • Button 2 হবে Button 1 এর উপরে, কারণ StackPane উপাদানগুলো একে অপরের উপর স্তরের মতো সাজায়।

4. BorderPane

BorderPane হল একটি লেআউট প্যানেল যা UI উপাদানগুলিকে পাঁচটি বিভাগে বিভক্ত করে: Top, Bottom, Left, Right, এবং Center

উদাহরণ:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;

public class BorderPaneExample extends Application {
    @Override
    public void start(Stage primaryStage) {
        Button btnTop = new Button("Top");
        Button btnBottom = new Button("Bottom");
        Button btnLeft = new Button("Left");
        Button btnRight = new Button("Right");
        Button btnCenter = new Button("Center");
        
        // BorderPane তৈরি
        BorderPane borderPane = new BorderPane();
        borderPane.setTop(btnTop);
        borderPane.setBottom(btnBottom);
        borderPane.setLeft(btnLeft);
        borderPane.setRight(btnRight);
        borderPane.setCenter(btnCenter);
        
        Scene scene = new Scene(borderPane, 400, 300);
        primaryStage.setTitle("BorderPane Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

Output:

  • Button Top উপরের অংশে, Button Bottom নীচের অংশে, Button Left বামদিকে, Button Right ডানদিকে এবং Button Center কেন্দ্রে থাকবে।

5. GridPane

GridPane হল একটি লেআউট প্যানেল যা উপাদানগুলোকে একটি গ্রিডে সাজায় (যেমন টেবিলের সারি ও কলাম)।

উদাহরণ:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;

public class GridPaneExample extends Application {
    @Override
    public void start(Stage primaryStage) {
        Button btn1 = new Button("Button 1");
        Button btn2 = new Button("Button 2");
        Button btn3 = new Button("Button 3");
        Button btn4 = new Button("Button 4");
        
        // GridPane তৈরি
        GridPane gridPane = new GridPane();
        gridPane.setHgap(10); // কলামের মধ্যে 10px ব্যবধান
        gridPane.setVgap(10); // সারির মধ্যে 10px ব্যবধান
        
        gridPane.add(btn1, 0, 0); // (Column 0, Row 0)
        gridPane.add(btn2, 1, 0); // (Column 1, Row 0)
        gridPane.add(btn3, 0, 1); // (Column 0, Row 1)
        gridPane.add(btn4, 1, 1); // (Column 1, Row 1)
        
        Scene scene = new Scene(gridPane, 300, 200);
        primaryStage.setTitle("GridPane Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

Output:

  • ৪টি বাটন গ্রিডের মধ্যে ২টি কলাম এবং ২টি সারিতে সাজানো থাকবে।

সারাংশ:

  1. HBox: উপাদানগুলোকে অনুভূমিকভাবে সাজায়।
  2. VBox: উপাদানগুলোকে উল্লম্বভাবে সাজায়।
  3. StackPane: উপাদানগুলো একে অপরের উপরে স্তরের মতো সাজায়।
  4. BorderPane: UI উপাদানগুলিকে ৫টি ভাগে ভাগ করে (Top, Bottom, Left, Right, Center)।
  5. GridPane: উপাদানগুলোকে গ্রিডে সাজায় (সারি ও কলাম ভিত্তিক)।

এই লেআউট ম্যানেজারগুলো ব্যবহার করে আপনি JavaFX এর মধ্যে সঠিকভাবে উপাদানগুলি সজ্জিত করতে পারবেন এবং আধুনিক, আকর্ষণীয় GUI তৈরি করতে সক্ষম হবেন।

Content added By
Promotion